<?php
define("APPID", "wx48e647583f24f228");//APPID
define("APPSECRET", "f615e5c4f78a4cba322c30ac69101a94");//APPSECRET
//得到access_token
function get_access_token(){
	$token_access_url="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".APPID."&secret=".APPSECRET;
	$res=file_get_contents($token_access_url);
	$result=json_decode($res,TRUE);
	$access_token=$result['access_token'];
	return $access_token;
}
//网页授权code换取access_token
function get_access_token_for_code($code){
 	$getUrl="https://api.weixin.qq.com/sns/oauth2/access_token?appid=".APPID."&secret=".APPSECRET."&code=".$code."&grant_type=authorization_code";
	$result_json=file_get_contents($getUrl);
	$object=((array)json_decode($result_json));
	return $object;
}
//拉取指定用户OpenID的信息
function get_msg_by_openid($access_token,$openid){
	//$access_token=get_access_token();
	$get_msg_by_openid_url="https://api.weixin.qq.com/sns/userinfo?access_token=".$access_token."&openid=".$openid."&lang=zh_CN";
	$result_json=file_get_contents($get_msg_by_openid_url);
	$object=((array)json_decode($result_json));
	return $object;
}
//进入商城将用户加入商城数据库或更新已有信息
function wx_sub_scribe($openid,$result){
	$IsExist=M("user")->where(array('openid'=>$openid))->select();
	//dump($result);die;
	if(count($result)>5){
		if(is_null($IsExist)){
			$id=M('user')->add($result);
			return $id;
		}else{
			$row=M('user')->where(array('UserId'=>$IsExist[0]['UserId']))->data($result)->save();
			return $IsExist[0]['UserId'];
		}
	}
}
//https请求(支持get和post)
function http_request($url,$data=null){
	$curl=curl_init();
	curl_setopt($curl,CURLOPT_URL,$url);
	curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,FALSE);
	curl_setopt($curl,CURLOPT_SSL_VERIFYHOST,FALSE);
	if(!empty($data)){
		curl_setopt($curl,CURLOPT_POST,1);
		curl_setopt($curl,CURLOPT_POSTFIELDS,$data);
	}
	curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
	$output=curl_exec($curl);
	curl_close($curl);
	return $output;
}
//发送模版消息
function send_template_message($data){
	$url="https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=".get_access_token();
	$data=urldecode(json_encode($data));
	$res=http_request($url,$data);
	return json_decode($res,true);
}
//订单支付成功模版
//$OpenID 指定收信用户OpenID
//$orderMoneySum 支付的订单价格总和
//$orderProductName 购买的商品多个取首个
//$Remark 文字说明，无特别要求允许为空，有默认值
function order_successful_pay($OpenID,$orderMoneySum,$orderProductName,$Remark="如有问题请直接在微信留言，工作人员将第一时间为您服务!"){
	$data=array(
		'touser'=>$OpenID,
		'template_id'=>"9ByoK32qNOCK8TX0FQC9_f1ut7OBQVJg0xsWYEtsiPY",
		'url'=>'http://weixin.qq.com/download',
		'data'=>array(
			'first'=>array('value'=>urlencode("我们已收到您的货款，开始为您打包商品，请耐心等待^_^")),
			'orderMoneySum'=>array('value'=>urldecode($orderMoneySum."元"),'color'=>"#FF0000"),
			'orderProductName'=>array('value'=>urlencode($orderProductName."等")),
			'Remark'=>array('value'=>urlencode($Remark))
		)
	);
	return send_template_message($data);
}
//订单提交成功模版
//$OpenID 指定收信用户OpenID
//$orderID 该笔订单编号
//$orderMoneySum 该笔订单总额
//$backupFieldData 购买的商品多个取首个
//$remark 文字说明，无特别要求允许为空，有默认值
function order_successful_submit($OpenID,$orderID,$orderMoneySum,$backupFieldData,$remark="如有问题请直接在微信留言，工作人员将第一时间为您服务!"){
	$data=array(
		'touser'=>$OpenID,
		'template_id'=>"TMOt7oF6nNZRjyxXF7KOlEVtSaAyf98nBly8ydJOtYI",
		'url'=>'http://weixin.qq.com/download',
		'data'=>array(
			'first'=>array('value'=>urlencode("店小二已收到您的订单，订单将在付款后生效^_^")),
			'orderID'=>array('value'=>$orderID),
			'orderMoneySum'=>array('value'=>urlencode($orderMoneySum."元"),'color'=>"#FF0000"),
			'backupFieldName'=>array('value'=>urlencode("商品信息:")),
			'backupFieldData'=>array('value'=>urlencode($backupFieldData)),
			'remark'=>array('value'=>urlencode($remark))
		)
	);
	return send_template_message($data);
}
//订单标记发货通知模版
//$OpenID 指定收信用户OpenID
//$orderProductPrice 订单金额
//$orderProductName 商品详情
//$orderAddress 收货信息
//$orderName 订单编号
//$remark 文字说明，无特别要求允许为空，有默认值
function order_send_message($OpenID,$orderProductPrice,$orderProductName,$orderAddress,$orderName,$remark="如有问题请直接在微信留言，工作人员将第一时间为您服务!"){
	$data=array(
		'touser'=>$OpenID,
		'template_id'=>"oJnaciif_KjXilrJKz9wommnYgBZsNKdi8FQCcSSH_o",
		'url'=>'http://weixin.qq.com/download',
		'data'=>array(
			'first'=>array('value'=>urlencode("您的商品已整装出发，跨越N+公里与你相见^_^")),
			'orderProductPrice'=>array('value'=>urlencode($orderProductPrice),'color'=>"#FF0000"),
			'orderProductName'=>array('value'=>urlencode($orderProductName)),
			'orderAddress'=>array('value'=>urlencode($orderAddress)),
			'orderName'=>array('value'=>urlencode($orderName)),
			'remark'=>array('value'=>urlencode($remark))
		)
	);
	return send_template_message($data);	
}
//订单确认收货通知模版
//$OpenID 指定收信用户OpenID
//$keyword1 订单号
//$keyword2 商品名称
//$keyword3 下单时间
//$keyword4 发货时间
//$keyword5 确认收货时间
//$remark 文字说明，无特别要求允许为空，有默认值
function order_confirmation_receipt($OpenID,$keyword1,$keyword2,$keyword3,$keyword4,$keyword5,$remark="如有问题请直接在微信留言，工作人员将第一时间为您服务!"){
	$data=array(
		'touser'=>$OpenID,
		'template_id'=>"CC5Gf9WOfZ1ni1WhlsycyFeLDZhInKECjOvQpe_x_kM",
		'url'=>'http://weixin.qq.com/download',
		'data'=>array(
			'first'=>array('value'=>urlencode("快递小哥已将商品送到您的手中，快拆开看看把^_^")),
			'keyword1'=>array('value'=>urlencode($keyword1)),
			'keyword2'=>array('value'=>urlencode($keyword2)),
			'keyword3'=>array('value'=>urlencode($keyword3)),
			'keyword4'=>array('value'=>urlencode($keyword4)),
			'keyword5'=>array('value'=>urlencode($keyword5)),
			'remark'=>array('value'=>urlencode($remark))
		)
	);
	return send_template_message($data);
}
?>